package Lee_code;

import java.util.Arrays;

/**
 * @author blh
 * @date 2024年07月08日 11:12
 */
public class Lee_213_78 {
    public int rob(int[] nums) {
        int len = nums.length;
        int[] dp1 = new int[len-1];
        int[] dp2 = new int[len-1];

        // 偷1号房子
        dp1[0] = nums[0];
        dp1[1] = Math.max(nums[0], nums[1]);
        for (int i = 2; i < len - 1; i++) {
            dp1[i] = Math.max(dp1[i-1], dp1[i-2]+nums[i]);
        }

        // 偷2号房子
        dp1[1] = nums[1];
        dp1[2] = Math.max(nums[1], nums[2]);
        for (int i = 3; i < len ; i++) {
            dp2[i] = Math.max(dp2[i-1], dp2[i-2]+nums[i]);
        }

        return Math.max(Arrays.stream(dp1).max().getAsInt(), Arrays.stream(dp2).max().getAsInt());

    }
}
